= meowsum
apiote <me@apiote.xyz>
v1.0.0 2022-06-17
:toc:

== Name

meowsum — print or verify Meow hash checksums

== Description

The meowsum utility calculates and prints or verifies https://mollyrocket.com/meowhash[Meow hash] checksums.
The output format is consistent with POSIX cksum;
meowsum prints the checksum, number of bytes, and file path to standard output.

The meowsum is an alternative for such utilities as `cksum`, `md5sum`, `sha512sum`.

== Usage

	meowsum -h
	meowsum [-ceq] FILE...
	meowsum [-s size] FILE...

	-h  show this help and exit
	-c  read sums from the FILEs and check them
	-s  size set hash size; size can be 32, 64, 128 bits;
			the default is 128
	The following options are useful only when verifying checksums:
	-q  only return status; do not print OK, ERH, ERS, ERM
	-e  fail for missing files

== Building

meowsum uses mk for building but it can also be built manually.

To build meowsum, a C compiler that supports C17 is needed.
By default, it’s clang, but it can be changed using the `CC` variable.
Other compilers, however, have not been tested.

To generate documentation, scdoc is needed.

To compile only meowsum, run `mk meowsum`.
To generate only the manpage, run `mk meowsum.1`.
To build everything at once, run just `mk`.

== Installation

meowsum can be installed using mk, but also manually.

To install using mk, run `mk install` as root.
This will copy the binary to `$PREFIX/bin/`, which is `/usr/local/bin/` by default, and the manpage to `/usr/share/man/man1/`.

== Future

meowsum might be rewritten to another language, but it will definitely not be Rust.
It is, however, feature complete.
Feature requests and patches with new features will be dropped.

== Contributing

This project is finished; no more functions will be implemented; all feature requests will be ignored.

This project uses The Code of Merit, which is available as CODE_OF_CONDUCT file.

Fixes and patches are welcome; please send them to `meowsum@git.apiote.xyz` using `git send-email`. They must include a sign-off to certify agreement to https://developercertificate.org/[Developer Certificate of Origin].

All communication—questions, bugs, etc.—should go through the mailing list available at `meowsum@git.apiote.xyz`. Note that all communication will be made public at https://asgard.apiote.xyz/.

== Mirrors

The canonical repository for this project is https://git.apiote.xyz/meowsum.git it’s mirrored at https://notabug.org/apiote/meowsum

Mirrors exist solely for the sake of the code and any additional functions provided by third-party services (including but not limited to issues and pull requests) will not be used and will be ignored.

== Authors

Maintained by apiote <me@apiote.xyz>.

Meowhash created by https://github.com/cmuratori/meow_hash[mollyrocket], Zlib license.

== Copyright

Copyright (C) 2021 apiote

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program.
If not, see https://www.gnu.org/licenses/gpl.html
